home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 April
/
EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso
/
EARCD
/
comm
/
ums
/
IntuiNews1_4a.lha
/
UMS
/
Rexx
/
Schnulli.intui
< prev
next >
Wrap
Text File
|
1996-03-29
|
5KB
|
227 lines
/****** Schnulli.intui *******************************************************
NAME
$VER: Schnulli.intui 1.1 (29.3.96) by Olaf Peters
*** This script is only useful in the german MausNet (R) ***
AUTHOR
Olaf Peters
Kulmer Str. 7
28237 Bremen
op@hb2.maus.de / olf@informatik.uni-bremen.de
SYNOPSIS
Bestellt Dateien aus dem Programmteil per Schnulli.
FUNCTION
Wer kennt es nicht: man liest in IntuiNews die Nachrichten über die
neuesten Uploads in der Maus, schreibt sich die Nummern/Namen der
interessanten Sachen heraus, schließt das Fenster, schreibt eine PM
an Schnulli.
Das ist mit Schnulli.intui vorbei: auf Tastendruck erscheint ein
Requester, in dem man nun direkt die gewünschten Programme eintragen
kann. Das Schreiben der Mail an Schnulli erfolgt dann automatisch.
CONFIGURATION
Ist nur sinnvoll im Nachrichtenfenster.
ums.config Beispiel:
( IntuiNews.Rexx
"MessageWindow F1 UMS:Rexx/Schnulli\n"
)
Im Script (s.u.) kann noch angegeben werden, in welchen Mailfolder
die Nachrichten an Schnulli abgelegt werden sollen.
NEEDS
Für die Benutzung des Scripts muß folgendes installiert sein:
· mindestens IntuiNews v1.3b (wegen des ARexx-Ports)
· mindestens UMSServer v11.20+ (wegen des UMSDupAccount Tricks für
normale Logins)
· reqtools.library und reqrexxtools.library (für die Requester)
BUGS
Keine bekannt. Sollten welche auftauchen, bitte mailen (s.o.)
$HISTORY:
29.3.96 1.1 : die erzeugte Nachricht wird jetzt in das
Artikelfenster eingetragen (IN 1.3b)
13.10.95 1.0 : initial
******************************************************************************
*
*/
/*
* ------------------------------------------------------------------------
*
* Hier den Folder eintragen, in den die Nachricht abgelegt werden soll.
*
* z.B.
*
* ctrlFolder = "Maus.Schnulli"
*
*/
ctrlFolder = "Maus.Schnulli"
/* ------------------------------------------------------------------------ */
ProgramName = "Schnulli.intui"
lf = '0a'x
cVersion = "1.1 (29.3.96)"
eztags = "rtez_flags=ezreqf_centertext"
rstags = "rtgs_flags=gsreqf_centertext"
/*** Startup ***/
options results
RC = 0
account = 0
signal on BREAK_C
signal on BREAK_D
signal on BREAK_E
signal on BREAK_F
signal on ERROR
signal on HALT
signal on IOERR
signal on SYNTAX
/*/// "Libs einbinden" */
if ~show(l, "rexxreqtools.library") then
if ~addlib("rexxreqtools.library", 0, -30, 0) then do
say "rexxreqtools.library konnte nicht geöffnet werden!" ;
exit(20) ;
end
libname = "ums.library"
if ~show("L", "ums.library") then do
if ~addlib("ums.library", 0, -210, 8) then do
say "ums.library not found!"
exit(20)
end
end
call UMSInitConsts
/*\\\*/
/*/// "Login duplizieren" */
'info screen'
screen = result
eztags = eztags "rt_pubscrname='" || screen || "'"
rstags = rstags "rt_pubscrname='" || screen || "'"
'status'
if result ~= "MESSAGE" then do
rtezrequest("Du mußt im Nachrichtenfenster sein,"|| lf || "um dieses Script auszuführen!", "_Abbruch", ProgramName, eztags)
call HALT
end
'getaccount'
if (result = "RESULT") | (result = 0) then do
rtezrequest("Script konnte keinen Account bekommen!", "_Abbruch", ProgramName, eztags)
call HALT
end ; else
login = result
account = UMSLogin("", login, "")
if account = 0 then do
rtezrequest("Konnte Account nicht duplizieren!", "_Abbruch", ProgramName, eztags)
call HALT
end
/*\\\*/
'getmsgnum'
if result = "RESULT" then do
rtezrequest("No message no fun! :-)", "_Abbruch", ProgramName, eztags)
call HALT
end ; else
msgnum = result
drop msg.
if ~UMSReadMsgHeader(account, msgnum, msg., true) then do
rtezrequest("Nachricht konnte nicht gelesen werden!", "_Abbruch", ProgramName, eztags)
call HALT
end
if upper(right(msg.UMSCODE_FromAddr, 5)) ~= ".MAUS" then do
rtezrequest(msg.UMSCODE_FromName "hat keine Mausadresse.", "_Abbruch", ProgramName, eztags)
call HALT
end
parse var msg.UMSCODE_FromAddr maus ".maus"
if UMSReadConfigUserName(account, "maus." || maus) = "" then do
rtezrequest("Für die Maus" maus "gibt's hier keinen Exporter!", "_Abbruch", ProgramName, eztags)
call HALT
end
if upper(word(msg.UMSCODE_Subject, 1)) = "GPT" then
default = strip(word(msg.UMSCODE_Subject, 2), 'B', ':')
else
default = ""
text = rtgetstring(default, "Was darf's denn sein?", ProgramName, "_Okay|_Abbruch", rstags, rtres)
if rtres = 0 then
call HALT
drop ctrl.
ctrl.UMSCODE_ToName = "Saug Tausch"
ctrl.UMSCode_ToAddr = msg.UMSCODE_FromAddr
ctrl.UMSCODE_Subject = "Schnulli.intui " || cVersion
ctrl.UMSCODE_MsgText = text || lf
ctrl.UMSCODE_Folder = ctrlFolder
msgnum = UMSWriteMsg(account, ctrl.)
if msgnum = 0 then do
rtezrequest("Nachricht konnte nicht geschrieben werden:" || lf || "UMS Error #" || UMSErrNum(account) || ":" UMSErrTxt(account), "_Abbruch", ProgramName, eztags)
end ; else
'addmsg' msgnum
/*/// "Final cleanup" */
BREAK_C:
BREAK_D:
BREAK_E:
BREAK_F:
ERROR:
HALT:
IOERR:
SYNTAX:
/*** Logout ***/
if account ~= 0 then do
call UMSLogout(account)
account = 0
end
exit 0
/*** Support ***/
CheckErr: procedure expose account
err = UMSErrNum(account)
if err ~= 0 then do
rtezrequest("UMS Error #" || err || ": " || UMSErrTxt(account))
end
return
/*\\\*/